草庐IT

mongodb - Meteor.Collection 和 Meteor.Collection.Cursor

全部标签

MongoDB 为上限集合中的文档预分配空间

可以更新上限集合中的文档,但不会增加文档大小。我们需要更新文档,因此有一个问题-是否可以在第一次插入期间预分配空间并将其用于进一步更新。类似于:插入文档+1mb的零,然后更新文档以减少“假”零。 最佳答案 您实质上描述的是手动填充。我以前没有在上限集合的上下文中这样做过,但没有理由它不起作用。一般来说,避免对因更新而增长的文档进行代价高昂的移动是一种很好的做法。我还建议SO上的人们在查看嵌入与引用在他们的模式中的优缺点之前就这样做(在博客中存储最后5条评论,固定主字段的长度,引用例如,对于所有历史记录。官方手动填充文档在这里:htt

Mongodb 启动报错

我是mongodb的新手。我刚刚在我的ubuntu11.04系统上安装了它,当我在终端中输入mongo时,它显示如下MongoDBshellversion:1.6.3ThuMar2215:07:33***warning:spidermonkeybuildwithoututf8support.considerrebuildingwithutf8supportconnectingto:test>谁能告诉我哪里错了以及如何解决这个问题。非常感谢Ant的帮助和建议。 最佳答案 Ubuntu存储库有一个非常旧的mongoDB版本-在撰写本文时

php - MongoDB 计数很慢

我有一个包含150万份文档的集合。我正在使用PHP进行计数:$db->some->ensureIndex(array("sometext"=>1));$db->some->ensureIndex(array("datsbla"=>1));$arr["sometext"]=$string;$arr["datsbla"]=array('$gte'=>$some,'$lte'=>$thing);$count=$db->some->count($arr);我打开分析器,每次这样的计数都是4500毫秒。我的页面中有20个这样的计数器,所以它使我的网页非常非常慢。我应该怎么做才能让它更快(谢谢。

mongodb - 0.203125GB MongoDB数据库的计算逻辑?

如何计算0.203125GB的MongoDB数据库大小?所有操作系统(32位和64位)都一样吗?我们可以看到特定数据库的当前使用情况吗?>showdbslocal(empty)tutorial0.203125GB 最佳答案 MongoDBDocumentation每个数据文件都预先分配了一个特定的大小。(这样做是为了防止文件系统碎片等原因。)数据库的第一个文件名是.0,然后是.1,等等。0将是64MB,.1将是128MB,等等,最多2GB。一旦文件大小达到2GB,每个连续的文件也是2GB。因此,如果最后一个数据文件是1GB,如果它是

python - Flask-PyMongo : how come "self._Collection__database"?

在Flask-PyMongo中,他们使用self._Collection__database来表示这个Collection对象所属的数据库对象:classCollection(collection.Collection):"""Customsub-classof:class:`pymongo.collection.Collection`whichaddsFlask-specifichelpermethods."""def__getattr__(self,name):attr=super(Collection,self).__getattr__(name)ifisinstance(att

mongodb - 蒙戈 : querying for values nested in child arrays where keys are variable

我正在尝试构建一个Mongo查询,我可以在其中根据子数组中的值选择文档,其中嵌入数组的键会随着文档的不同而变化。在下面的示例中,我们有三个文档数组。提取每种酒的名称是微不足道的。当我想选择品尝结果大于20的Wine时,问题就来了。问题是我在运行查询时不知道航类名称;它可以是任何东西。因此,我不能只检查嵌入式数组的值。我想过类似的事情$ary_query=array('tasting_results.*'=>'$gt:20');但显然通配符在Mongo中不起作用(至少不是那样)。有什么想法吗?这是示例数组:ary_wines=array("name"=>"Ripple","year"=>

mongodb - mongoDB 平衡

我有一个带有分片键和索引的集合。但是当我运行平衡时,不会为这个集合移动block,因为其他集合block正在按预期移动到其他机器。此集合中仅移动了一个block。 最佳答案 目前(这将在不久的将来改变),平衡器只会在存在足够的不平衡(8个或更多)时开始移动block。如果block计数比那个更接近,那么将不会有移动。block的数量取决于最大块大小(在2.0.x中编写此内容时为64MB)和写入的数据量。每当有一定数量的数据写入一个block时,就会触发一次拆分。因此,如果您没有向集合中添加数据,或者数据不是很大,则可能需要一些时间来

php - mongodb php $push 不插入数组

我在SO上看到了很多其他MongoPHP$push问题,但出于某种原因,他们所说的都没有用,所以我发布了我自己的版本。基本上,我正在尝试遵循10gen设定的指南,其中应该使用存储桶来表示新闻提要或博客/评论帖子之类的内容-制作包含一定数量(50)事件(评论等)的文档.),然后随着内容的增长创建多个文档。我想做的是将文档($event)插入一个数组(events),但是当文档不存在(更新)。我试着用一个插入来做到这一点,但是插入和$push不能很好地结合在一起。这是我现在拥有的:$historyDoc=array('_id'=>$uID,'count'=>1,array('$push'=

mongodb - mongo慢查询,cursor.refresh?

我得到了一组20个查询,每个查询(根据日志需要5毫秒)并且我觉得很好,在查询之间日志鞋我这一行“MONGODB[DEBUG]cursor.refresh()forcursor21910540893136”此操作需要一段时间(几秒钟)才能结束。这个光标刷新是什么?我可以避免吗?还是晚调用它? 最佳答案 QueriestoMongoDBreturnacursor,whichcanbeiteratedtoretrieveresults游标刷新发生在从mongodb中获取的结果过多时。我怀疑这是司机的责任来处理这个问题,所以答案可能是否定的

node.js - 如何处理 Node/MongoDB 连接管理?

我正在使用node-mongodb-native连接到本地MongoDB实例。我在思考如何处理连接时遇到了一些麻烦。我试图将MongoDB的东西抽象到一个自定义的Database模块中:Database.jsvarmongo=require('mongodb');varDatabase=function(){returnthis;};Database.prototype.doStuff=functiondoStuff(callback){mongo.connect('mongodb://127.0.0.1:27017/testdb',function(err,conn){conn.co